package com.junxonline.plat.service.position;

import com.junxonline.plat.dao.model.Position;
import com.junxonline.common.dao.pojo.JsTree;
import com.junxonline.plat.dao.vo.*;

import java.util.List;

public interface PositionService {

    /**
     * 获取部门岗位树数据
     * @return
     */
    List<JsTree> getPositionTree();

    /**
     * 获取父级部门树数据
     * @param vo
     * @return
     */
    List<JsTree> getParentPositionTree(PositionTypesVO vo);

    /**
     * 获取部门岗位数据
     *
     * @param vo
     * @return
     */
    Position getPosition(QueryPositionVO vo);

    /**
     * 筛选查询部门岗位
     * @param page
     * @param vo
     * @return
     */
    PageVO queryPosition(PageVO page, QueryPositionVO vo);


    /**
     * 添加部门岗位
     * @param vo
     * @return
     */
    boolean addPosition(PositionVO vo);

    /**
     * 修改部门岗位
     * @param vo
     * @return
     */
    boolean editPosition(PositionVO vo);

    /**
     * 删除部门岗位
     * @param positionIds
     * @return
     */
    boolean delPosition(Long[] positionIds);

    /**
     * 设置权限
     * @param positionIds
     * @param menuIds
     * @return
     */
    boolean setPermission(Long[] positionIds, Long[] menuIds);

}
